home *** CD-ROM | disk | FTP | other *** search
- C---------------------------------------------------------
- C TOOLPACK/1 Release: 2.4
- C---------------------------------------------------------
- C---------------------------------------------------------
- C TOOLPACK/1 Release: 2.4
- C---------------------------------------------------------
-
- C The following defines must have these values as OUTTOK/RDTOK expect
- C them to - if they must be changed, look at OUTTOK & RDTOK.
-
-
- C ----------------------------------------------------------------------
- C
- C P O L B L K - Polish's Block Data
- C
-
- BLOCK DATA POLBLK
-
- C---------------------------------------------------------
- C TOOLPACK/1 Release: 2.4
- C---------------------------------------------------------
- C
- C TKLAST = LAST TOKEN NUMBER
- C
- INTEGER TZEOF ,TASSIG,TBACKS,TBLOCK,TCALL ,TCLOSE,TCOMMO,TCONTI,
- + TDATA ,TDO ,TDIMEN,TELSE ,TELSIF,TEND ,TENDFI,TENDIF,
- + TENTRY,TEQUIV,TEXTER,TFUNCT,TFORMA,TGOTO ,TIF ,TIMPLI,
- + TINQUI,TINTRI,TOPEN ,TPARAM,TPAUSE,TPRINT,TPROGR,TREAD ,
- + TRETUR,TREWIN,TSAVE ,TSTOP ,TSUBRO,TTHEN ,TTO ,TWRITE,
- + TINTEG,TREAL ,TDOUBL,TCOMPL,TLOGIC,TCHARA,TDCMPL,TCOMMA,
- + TEQUAL,TCOLON,TLPARN,TRPARN,TLE ,TLT ,TEQ ,TNE ,
- + TGE ,TGT ,TAND ,TOR ,TEQV ,TNEQV ,TNOT ,TSTAR ,
- + TDSTAR,TPLUS ,TMINUS,TSLASH,TCNCAT,TDCNST,TLCNST,TRCNST,
- + TPCNST,TCCNST,THCNST,TNAME ,TFIELD,TSCALE,TZEOS ,TCMMNT,
- + TFMTKD,TENDKD,TERRKD,TKLAST
- PARAMETER (TZEOF = 1,TASSIG= 2,TBACKS= 3,TBLOCK= 4,TCALL = 5,
- + TCLOSE= 6,TCOMMO= 7,TCONTI= 8,TDATA = 9,TDO =10,
- + TDIMEN=11,TELSE =12,TELSIF=13,TEND =14,TENDFI=15,
- + TENDIF=16,TENTRY=17,TEQUIV=18,TEXTER=19,TFUNCT=20,
- + TFORMA=21,TGOTO =22,TIF =23,TIMPLI=24,TINQUI=25,
- + TINTRI=26,TOPEN =27,TPARAM=28,TPAUSE=29,TPRINT=30,
- + TPROGR=31,TREAD =32,TRETUR=33,TREWIN=34,TSAVE =35,
- + TSTOP =36,TSUBRO=37,TTHEN =38,TTO =39,TWRITE=40,
- + TINTEG=41,TREAL =42,TDOUBL=43,TCOMPL=44,TLOGIC=45,
- + TCHARA=46,TDCMPL=47,TCOMMA=48,TEQUAL=49,TCOLON=50,
- + TLPARN=51,TRPARN=52,TLE =53,TLT =54,TEQ =55,
- + TNE =56,TGE =57,TGT =58,TAND =59,TOR =60,
- + TEQV =61,TNEQV =62,TNOT =63,TSTAR =64,TDSTAR=65,
- + TPLUS =66,TMINUS=67,TSLASH=68,TCNCAT=69,TDCNST=70,
- + TLCNST=71,TRCNST=72,TPCNST=73,TCCNST=74,THCNST=75,
- + TNAME =76,TFIELD=77,TSCALE=78,TZEOS =79,TCMMNT=80,
- + TFMTKD=81,TENDKD=82,TERRKD=83,TKLAST=83)
-
-
- COMMON/TYPES/ STTYPE
- INTEGER STTYPE(TKLAST)
-
- COMMON/SPACNG/SPBEF,SPAFT
- INTEGER SPBEF(-2:TKLAST,0:2),SPAFT(-2:TKLAST,0:2)
-
- COMMON/XTTYPE/TMPLUS,TMMINU
- INTEGER TMPLUS,TMMINU
-
- COMMON/INTBRK/BRPRIO
- INTEGER BRPRIO(-2:TKLAST,0:2)
-
- COMMON/BLINES/BLAFT,BLBEF,BLADEC,BLCHAR
- INTEGER BLAFT(-2:TKLAST),BLBEF(-2:TKLAST),BLCHAR
- LOGICAL BLADEC
-
- COMMON/MARGIN/LMARGS,RMARGS,LMARGC,RMARGC
- INTEGER LMARGS,RMARGS,LMARGC,RMARGC
-
- COMMON/CONTIN/CONCHR,CONCNT
- INTEGER CONCHR,CONCNT
-
- COMMON/LFORM/LABELF,LABELC
- INTEGER LABELF,LABELC
-
- COMMON/INDENT/INDDO,INDIF,INDCON,INDCMT,MAXIND
- INTEGER INDDO,INDIF,INDCON,MAXIND
- LOGICAL INDCMT
-
- COMMON/SEQNUM/SEQINI,SEQINC,SEQDIG,SEQFIL,SEQRQD
- INTEGER SEQINI,SEQINC,SEQDIG,SEQFIL
- LOGICAL SEQRQD
-
- COMMON/RELBL/FLBINI,FLBINC,SLBINI,SLBINC,RLBFMT,RLBSTM
- INTEGER FLBINI,FLBINC,SLBINI,SLBINC
- LOGICAL RLBFMT,RLBSTM
-
- COMMON/DOCON/DOCONI,NDOCON,DOCONS,IOTHCO
- LOGICAL DOCONI,IOTHCO
- INTEGER NDOCON,DOCONS(30)
-
- COMMON/CMT/CMMODE,CBOX,CBTOP,CBSIDE,CMCHAR
- INTEGER CMMODE,CBOX,CBTOP,CBSIDE,CMCHAR
-
- COMMON/CASE/KWCASE,IDCASE,STRCAS,CMCASE,FFCASE
- INTEGER KWCASE,IDCASE,STRCAS,CMCASE,FFCASE
-
- COMMON/ASGLUP/VLEN
- INTEGER VLEN
-
- COMMON/MOVFMT/MOVEF,MFFLAG
- LOGICAL MOVEF,MFFLAG
-
- COMMON/DECLUP/DLUP,DLEN,DLUPOS
- LOGICAL DLUP
- INTEGER DLEN,DLUPOS
-
- COMMON/TRCOPT/TRACE
- LOGICAL TRACE
-
- COMMON/OPT15C/INDDOC,DELSED,BRKLIF
- LOGICAL INDDOC,DELSED,BRKLIF
-
- COMMON/ERROPT/ERRCMT
- LOGICAL ERRCMT
-
- COMMON/CVTOPT/CVTHFM,FMSBRK
- LOGICAL CVTHFM,FMSBRK
-
- COMMON/REMTOK/RMOPCF
- LOGICAL RMOPCF
-
- SAVE
-
- INTEGER TMPLUV,TMMINV
- PARAMETER (TMPLUV=-1,TMMINV=-2)
-
- C
- C Table to drive statement type selector
- C
- C Values are 0=illegal initial token for statement
- C 1=comment
- C 2=FORMAT
- C 3=declaration
- C 4=executable
-
- DATA STTYPE/0,4,4,3,4,4,3,4,3,4,3,4,4,0,4,4,3,3,3,3,2,4,
- + 4,3,4,3,4,3,4,4,3,4,4,4,3,4,3,4,0,4,3,3,
- + 3,3,3,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- + 0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,1,0,0,0/
-
- C ***************SPACING SPECIAL VALUES
- C -1 (SPBEF) = One space iff previous token not a name or "("
- C -1 (SPAFT) = One space iff next token not ")" or "," or operator
- C -2 = Error
- C -3 (SPAFT) = One space iff next token not "*"
-
- C Monadic minus sign
- DATA (SPBEF(TMMINV,I),I=0,2)/0,0,0/
- DATA (SPAFT(TMMINV,I),I=0,2)/0,0,0/
- C Monadic plus sign
- DATA (SPBEF(TMPLUV,I),I=0,2)/0,0,0/
- DATA (SPAFT(TMPLUV,I),I=0,2)/0,0,0/
- C <EOF>
- DATA (SPBEF(TZEOF,I),I=0,2)/-2,-2,-2/
- DATA (SPAFT(TZEOF,I),I=0,2)/-2,-2,-2/
- C ASSIGN
- DATA (SPBEF(TASSIG,I),I=0,2)/0,-2,-2/
- DATA (SPAFT(TASSIG,I),I=0,2)/1,-2,-2/
- C BACKSPACE
- DATA (SPBEF(TBACKS,I),I=0,2)/0,-2,-2/
- DATA (SPAFT(TBACKS,I),I=0,2)/1,-2,-2/
- C BLOCKDATA
- DATA (SPBEF(TBLOCK,I),I=0,2)/0,-2,-2/
- DATA (SPAFT(TBLOCK,I),I=0,2)/1,-2,-2/
- C CALL
- DATA (SPBEF(TCALL,I),I=0,2)/0,-2,-2/
- DATA (SPAFT(TCALL,I),I=0,2)/1,-2,-2/
- C CLOSE
- DATA (SPBEF(TCLOSE,I),I=0,2)/0,-2,-2/
- DATA (SPAFT(TCLOSE,I),I=0,2)/1,-2,-2/
- C COMMON
- DATA (SPBEF(TCOMMO,I),I=0,2)/0,-2,-2/
- DATA (SPAFT(TCOMMO,I),I=0,2)/1,-2,-2/
- C CONTINUE -- NO FOLLOWING SPACE
- DATA (SPBEF(TCONTI,I),I=0,2)/0,-2,-2/
- DATA (SPAFT(TCONTI,I),I=0,2)/0,-2,-2/
- C DATA
- DATA (SPBEF(TDATA,I),I=0,2)/0,-2,-2/
- DATA (SPAFT(TDATA,I),I=0,2)/1,-2,-2/
- C DO
- DATA (SPBEF(TDO,I),I=0,2)/0,-2,-2/
- DATA (SPAFT(TDO,I),I=0,2)/1,-2,-2/
- C DIMENSION
- DATA (SPBEF(TDIMEN,I),I=0,2)/0,-2,-2/
- DATA (SPAFT(TDIMEN,I),I=0,2)/1,-2,-2/
- C ELSE
- DATA (SPBEF(TELSE,I),I=0,2)/0,-2,-2/
- DATA (SPAFT(TELSE,I),I=0,2)/1,-2,-2/
- C ELSEIF
- DATA (SPBEF(TELSIF,I),I=0,2)/0,-2,-2/
- DATA (SPAFT(TELSIF,I),I=0,2)/1,-2,-2/
- C END
- DATA (SPBEF(TEND,I),I=0,2)/0,-2,-2/
- DATA (SPAFT(TEND,I),I=0,2)/1,-2,-2/
- C ENDFILE
- DATA (SPBEF(TENDFI,I),I=0,2)/0,-2,-2/
- DATA (SPAFT(TENDFI,I),I=0,2)/1,-2,-2/
- C ENDIF
- DATA (SPBEF(TENDIF,I),I=0,2)/0,-2,-2/
- DATA (SPAFT(TENDIF,I),I=0,2)/1,-2,-2/
- C ENTRY
- DATA (SPBEF(TENTRY,I),I=0,2)/0,-2,-2/
- DATA (SPAFT(TENTRY,I),I=0,2)/1,-2,-2/
- C EQUIVALENCE
- DATA (SPBEF(TEQUIV,I),I=0,2)/0,-2,-2/
- DATA (SPAFT(TEQUIV,I),I=0,2)/1,-2,-2/
- C EXTERNAL
- DATA (SPBEF(TEXTER,I),I=0,2)/0,-2,-2/
- DATA (SPAFT(TEXTER,I),I=0,2)/1,-2,-2/
- C FUNCTION
- DATA (SPBEF(TFUNCT,I),I=0,2)/0,-2,-2/
- DATA (SPAFT(TFUNCT,I),I=0,2)/1,-2,-2/
- C FORMAT
- DATA (SPBEF(TFORMA,I),I=0,2)/0,-2,-2/
- DATA (SPAFT(TFORMA,I),I=0,2)/1,-2,-2/
- C GOTO
- DATA (SPBEF(TGOTO,I),I=0,2)/0,-2,-2/
- DATA (SPAFT(TGOTO,I),I=0,2)/1,-2,-2/
- C IF
- DATA (SPBEF(TIF,I),I=0,2)/0,-2,-2/
- DATA (SPAFT(TIF,I),I=0,2)/1,-2,-2/
- C IMPLICIT
- DATA (SPBEF(TIMPLI,I),I=0,2)/0,-2,-2/
- DATA (SPAFT(TIMPLI,I),I=0,2)/1,-2,-2/
- C INQUIRE
- DATA (SPBEF(TINQUI,I),I=0,2)/0,-2,-2/
- DATA (SPAFT(TINQUI,I),I=0,2)/1,-2,-2/
- C INTRINSIC
- DATA (SPBEF(TINTRI,I),I=0,2)/0,-2,-2/
- DATA (SPAFT(TINTRI,I),I=0,2)/1,-2,-2/
- C OPEN
- DATA (SPBEF(TOPEN,I),I=0,2)/0,-2,-2/
- DATA (SPAFT(TOPEN,I),I=0,2)/1,-2,-2/
- C PARAMETER
- DATA (SPBEF(TPARAM,I),I=0,2)/0,-2,-2/
- DATA (SPAFT(TPARAM,I),I=0,2)/1,-2,-2/
- C PAUSE
- DATA (SPBEF(TPAUSE,I),I=0,2)/0,-2,-2/
- DATA (SPAFT(TPAUSE,I),I=0,2)/1,-2,-2/
- C PRINT
- DATA (SPBEF(TPRINT,I),I=0,2)/0,-2,-2/
- DATA (SPAFT(TPRINT,I),I=0,2)/1,-2,-2/
- C PROGRAM
- DATA (SPBEF(TPROGR,I),I=0,2)/0,-2,-2/
- DATA (SPAFT(TPROGR,I),I=0,2)/1,-2,-2/
- C READ
- DATA (SPBEF(TREAD,I),I=0,2)/0,-2,-2/
- DATA (SPAFT(TREAD,I),I=0,2)/1,-2,-2/
- C RETURN
- DATA (SPBEF(TRETUR,I),I=0,2)/0,-2,-2/
- DATA (SPAFT(TRETUR,I),I=0,2)/1,-2,-2/
- C REWIND
- DATA (SPBEF(TREWIN,I),I=0,2)/0,-2,-2/
- DATA (SPAFT(TREWIN,I),I=0,2)/1,-2,-2/
- C SAVE
- DATA (SPBEF(TSAVE,I),I=0,2)/0,-2,-2/
- DATA (SPAFT(TSAVE,I),I=0,2)/1,-2,-2/
- C STOP
- DATA (SPBEF(TSTOP,I),I=0,2)/0,-2,-2/
- DATA (SPAFT(TSTOP,I),I=0,2)/1,-2,-2/
- C SUBROUTINE
- DATA (SPBEF(TSUBRO,I),I=0,2)/0,-2,-2/
- DATA (SPAFT(TSUBRO,I),I=0,2)/1,-2,-2/
- C THEN -- NO FOLLOWING SPACE
- DATA (SPBEF(TTHEN,I),I=0,2)/0,-2,-2/
- DATA (SPAFT(TTHEN,I),I=0,2)/0,-2,-2/
- C TO
- DATA (SPBEF(TTO,I),I=0,2)/1,-2,-2/
- DATA (SPAFT(TTO,I),I=0,2)/1,-2,-2/
- C WRITE
- DATA (SPBEF(TWRITE,I),I=0,2)/0,-2,-2/
- DATA (SPAFT(TWRITE,I),I=0,2)/1,-2,-2/
- C Default for INTEGER*N/REAL*N/COMPLEX*N/LOGICAL*N/CHARACTER*anything
- C is no space between the keyword and the *
- C INTEGER
- DATA (SPBEF(TINTEG,I),I=0,2)/0,-2,-2/
- DATA (SPAFT(TINTEG,I),I=0,2)/-3,-2,-2/
- C REAL
- DATA (SPBEF(TREAL,I),I=0,2)/0,-2,-2/
- DATA (SPAFT(TREAL,I),I=0,2)/-3,-2,-2/
- C DOUBLEPRECISION
- DATA (SPBEF(TDOUBL,I),I=0,2)/0,-2,-2/
- DATA (SPAFT(TDOUBL,I),I=0,2)/1,-2,-2/
- C COMPLEX
- DATA (SPBEF(TCOMPL,I),I=0,2)/0,-2,-2/
- DATA (SPAFT(TCOMPL,I),I=0,2)/-3,-2,-2/
- C LOGICAL
- DATA (SPBEF(TLOGIC,I),I=0,2)/0,-2,-2/
- DATA (SPAFT(TLOGIC,I),I=0,2)/-3,-2,-2/
- C CHARACTER
- DATA (SPBEF(TCHARA,I),I=0,2)/0,-2,-2/
- DATA (SPAFT(TCHARA,I),I=0,2)/-3,-2,-2/
- C DOUBLE COMPLEX
- DATA (SPBEF(TDCMPL,I),I=0,2)/0,-2,-2/
- DATA (SPAFT(TDCMPL,I),I=0,2)/1,-2,-2/
- C ,
- DATA (SPBEF(TCOMMA,I),I=0,2)/0,0,0/
- DATA (SPAFT(TCOMMA,I),I=0,2)/0,0,0/
- C =
- DATA (SPBEF(TEQUAL,I),I=0,2)/1,0,0/
- DATA (SPAFT(TEQUAL,I),I=0,2)/1,0,0/
- C :
- DATA (SPBEF(TCOLON,I),I=0,2)/0,0,0/
- DATA (SPAFT(TCOLON,I),I=0,2)/0,0,0/
- C (
- DATA (SPBEF(TLPARN,I),I=0,2)/-1,-1,-1/
- DATA (SPAFT(TLPARN,I),I=0,2)/0,0,0/
- C )
- DATA (SPBEF(TRPARN,I),I=0,2)/0,0,0/
- DATA (SPAFT(TRPARN,I),I=0,2)/-1,-1,-1/
- C Relational operators
- DATA ((SPBEF(I,J),J=0,2),I=TLE,TGT)/1,0,0,1,0,0,1,0,0,1,0,0,
- +1,0,0,1,0,0/
- DATA ((SPAFT(I,J),J=0,2),I=TLE,TGT)/1,0,0,1,0,0,1,0,0,1,0,0,
- +1,0,0,1,0,0/
- C .AND.
- DATA (SPBEF(TAND,I),I=0,2)/1,1,0/
- DATA (SPAFT(TAND,I),I=0,2)/1,1,0/
- C .OR.
- DATA (SPBEF(TOR,I),I=0,2)/1,1,0/
- DATA (SPAFT(TOR,I),I=0,2)/1,1,0/
- C .EQV.
- DATA (SPBEF(TEQV,I),I=0,2)/1,1,0/
- DATA (SPAFT(TEQV,I),I=0,2)/1,1,0/
- C .NEQV.
- DATA (SPBEF(TNEQV,I),I=0,2)/1,1,0/
- DATA (SPAFT(TNEQV,I),I=0,2)/1,1,0/
- C .NOT.
- DATA (SPBEF(TNOT,I),I=0,2)/1,0,0/
- DATA (SPAFT(TNOT,I),I=0,2)/1,0,0/
- C *
- DATA (SPBEF(TSTAR,I),I=0,2)/0,0,0/
- DATA (SPAFT(TSTAR,I),I=0,2)/0,0,0/
- C **
- DATA (SPBEF(TDSTAR,I),I=0,2)/0,0,0/
- DATA (SPAFT(TDSTAR,I),I=0,2)/0,0,0/
- C +
- DATA (SPBEF(TPLUS,I),I=0,2)/1,0,0/
- DATA (SPAFT(TPLUS,I),I=0,2)/1,0,0/
- C -
- DATA (SPBEF(TMINUS,I),I=0,2)/1,0,0/
- DATA (SPAFT(TMINUS,I),I=0,2)/1,0,0/
- C /
- DATA (SPBEF(TSLASH,I),I=0,2)/0,0,0/
- DATA (SPAFT(TSLASH,I),I=0,2)/0,0,0/
- C //
- DATA (SPBEF(TCNCAT,I),I=0,2)/0,0,0/
- DATA (SPAFT(TCNCAT,I),I=0,2)/0,0,0/
- C integer constant (labels are done separately)
- DATA (SPBEF(TDCNST,I),I=0,2)/0,0,0/
- DATA (SPAFT(TDCNST,I),I=0,2)/0,0,0/
- C Logical constant
- DATA (SPBEF(TLCNST,I),I=0,2)/0,0,0/
- DATA (SPAFT(TLCNST,I),I=0,2)/0,0,0/
- C Real constant
- DATA (SPBEF(TRCNST,I),I=0,2)/0,0,0/
- DATA (SPAFT(TRCNST,I),I=0,2)/0,0,0/
- C Double precision constant
- DATA (SPBEF(TPCNST,I),I=0,2)/0,0,0/
- DATA (SPAFT(TPCNST,I),I=0,2)/0,0,0/
- C Character constant
- DATA (SPBEF(TCCNST,I),I=0,2)/0,0,0/
- DATA (SPAFT(TCCNST,I),I=0,2)/0,0,0/
- C Hollerith constant
- DATA (SPBEF(THCNST,I),I=0,2)/0,0,0/
- DATA (SPAFT(THCNST,I),I=0,2)/0,0,0/
- C Identifier
- DATA (SPBEF(TNAME,I),I=0,2)/0,0,0/
- DATA (SPAFT(TNAME,I),I=0,2)/0,0,0/
- C Field in a FORMAT statement
- DATA (SPBEF(TFIELD,I),I=0,2)/0,0,0/
- DATA (SPAFT(TFIELD,I),I=0,2)/0,0,0/
- C Scale factor in a FORMAT statement
- DATA (SPBEF(TSCALE,I),I=0,2)/0,0,0/
- DATA (SPAFT(TSCALE,I),I=0,2)/0,0,0/
- C <EOS>
- DATA (SPBEF(TZEOS,I),I=0,2)/-2,-2,-2/
- DATA (SPAFT(TZEOS,I),I=0,2)/-2,-2,-2/
- C Comment
- DATA (SPBEF(TCMMNT,I),I=0,2)/-2,-2,-2/
- DATA (SPAFT(TCMMNT,I),I=0,2)/-2,-2,-2/
- C FMT=
- DATA (SPBEF(TFMTKD,I),I=0,2)/-2,0,0/
- DATA (SPAFT(TFMTKD,I),I=0,2)/-2,0,0/
- C END=
- DATA (SPBEF(TENDKD,I),I=0,2)/-2,0,0/
- DATA (SPAFT(TENDKD,I),I=0,2)/-2,0,0/
- C ERR=
- DATA (SPBEF(TERRKD,I),I=0,2)/-2,0,0/
- DATA (SPAFT(TERRKD,I),I=0,2)/-2,0,0/
-
- C *******************************EXTENDED TOKEN TYPES
- C
- DATA TMPLUS/TMPLUV/,TMMINU/TMMINV/
-
- C ******************************* Line break priorities
- C
-
- C Monadic minus
- DATA (BRPRIO(TMMINV,I),I=0,2)/0,0,0/
- C Monadic plus
- DATA (BRPRIO(TMPLUV,I),I=0,2)/0,0,0/
- C End-of-file
- DATA (BRPRIO(TZEOF,I),I=0,2)/0,0,0/
- C ASSIGN
- DATA (BRPRIO(TASSIG,I),I=0,2)/20,20,20/
- C BACKSPACE
- DATA (BRPRIO(TBACKS,I),I=0,2)/20,20,20/
- C BLOCKDATA
- DATA (BRPRIO(TBLOCK,I),I=0,2)/20,20,20/
- C CALL
- DATA (BRPRIO(TCALL,I),I=0,2)/20,20,20/
- C CLOSE
- DATA (BRPRIO(TCLOSE,I),I=0,2)/20,20,20/
- C COMMON
- DATA (BRPRIO(TCOMMO,I),I=0,2)/20,20,20/
- C CONTINUE
- DATA (BRPRIO(TCONTI,I),I=0,2)/20,20,20/
- C DATA
- DATA (BRPRIO(TDATA,I),I=0,2)/20,20,20/
- C DO
- DATA (BRPRIO(TDO,I),I=0,2)/20,20,20/
- C DIMENSION
- DATA (BRPRIO(TDIMEN,I),I=0,2)/20,20,20/
- C ELSE
- DATA (BRPRIO(TELSE,I),I=0,2)/20,20,20/
- C ELSEIF
- DATA (BRPRIO(TELSIF,I),I=0,2)/20,20,20/
- C END
- DATA (BRPRIO(TEND,I),I=0,2)/20,20,20/
- C ENDFILE
- DATA (BRPRIO(TENDFI,I),I=0,2)/20,20,20/
- C ENDIF
- DATA (BRPRIO(TENDIF,I),I=0,2)/20,20,20/
- C ENTRY
- DATA (BRPRIO(TENTRY,I),I=0,2)/20,20,20/
- C EQUIVALENCE
- DATA (BRPRIO(TEQUIV,I),I=0,2)/20,20,20/
- C EXTERNAL
- DATA (BRPRIO(TEXTER,I),I=0,2)/20,20,20/
- C FUNCTION
- DATA (BRPRIO(TFUNCT,I),I=0,2)/20,20,20/
- C FORMAT
- DATA (BRPRIO(TFORMA,I),I=0,2)/20,20,20/
- C GOTO
- DATA (BRPRIO(TGOTO,I),I=0,2)/20,20,20/
- C IF
- DATA (BRPRIO(TIF,I),I=0,2)/20,20,20/
- C IMPLICIT
- DATA (BRPRIO(TIMPLI,I),I=0,2)/20,20,20/
- C INQUIRE
- DATA (BRPRIO(TINQUI,I),I=0,2)/20,20,20/
- C INTRINSIC
- DATA (BRPRIO(TINTRI,I),I=0,2)/20,20,20/
- C OPEN
- DATA (BRPRIO(TOPEN,I),I=0,2)/20,20,20/
- C PARAMETER
- DATA (BRPRIO(TPARAM,I),I=0,2)/20,20,20/
- C PAUSE
- DATA (BRPRIO(TPAUSE,I),I=0,2)/20,20,20/
- C PRINT
- DATA (BRPRIO(TPRINT,I),I=0,2)/20,20,20/
- C PROGRAM
- DATA (BRPRIO(TPROGR,I),I=0,2)/20,20,20/
- C READ
- DATA (BRPRIO(TREAD,I),I=0,2)/20,20,20/
- C RETURN
- DATA (BRPRIO(TRETUR,I),I=0,2)/20,20,20/
- C REWIND
- DATA (BRPRIO(TREWIN,I),I=0,2)/20,20,20/
- C SAVE
- DATA (BRPRIO(TSAVE,I),I=0,2)/20,20,20/
- C STOP
- DATA (BRPRIO(TSTOP,I),I=0,2)/20,20,20/
- C SUBROUTINE
- DATA (BRPRIO(TSUBRO,I),I=0,2)/20,20,20/
- C THEN
- DATA (BRPRIO(TTHEN,I),I=0,2)/20,20,20/
- C TO
- DATA (BRPRIO(TTO,I),I=0,2)/20,20,20/
- C WRITE
- DATA (BRPRIO(TWRITE,I),I=0,2)/20,20,20/
- C INTEGER
- DATA (BRPRIO(TINTEG,I),I=0,2)/20,20,20/
- C REAL
- DATA (BRPRIO(TREAL,I),I=0,2)/20,20,20/
- C DOUBLEPRECISION
- DATA (BRPRIO(TDOUBL,I),I=0,2)/20,20,20/
- C COMPLEX
- DATA (BRPRIO(TCOMPL,I),I=0,2)/20,20,20/
- C LOGICAL
- DATA (BRPRIO(TLOGIC,I),I=0,2)/20,20,20/
- C CHARACTER
- DATA (BRPRIO(TCHARA,I),I=0,2)/20,20,20/
- C DOUBLE COMPLEX
- DATA (BRPRIO(TDCMPL,I),I=0,2)/20,20,20/
- C ,
- DATA (BRPRIO(TCOMMA,I),I=0,2)/90,70,50/
- C =
- DATA (BRPRIO(TEQUAL,I),I=0,2)/20,20,20/
- C :
- DATA (BRPRIO(TCOLON,I),I=0,2)/88,68,48/
- C (
- DATA (BRPRIO(TLPARN,I),I=0,2)/10,10,10/
- C )
- DATA (BRPRIO(TRPARN,I),I=0,2)/50,30,20/
- C ** //
- DATA (BRPRIO(TDSTAR,I),I=0,2)/72,52,32/
- DATA (BRPRIO(TCNCAT,I),I=0,2)/72,52,32/
- C * /
- DATA (BRPRIO(TSTAR,I),I=0,2)/74,54,34/
- DATA (BRPRIO(TSLASH,I),I=0,2)/74,54,34/
- C + - (binary)
- DATA (BRPRIO(TPLUS,I),I=0,2)/76,56,36/
- DATA (BRPRIO(TMINUS,I),I=0,2)/76,56,36/
- C .LE. .LT. .EQ. .NE. .GT. .GE.
- DATA (BRPRIO(TLE,I),I=0,2)/78,58,38/
- DATA (BRPRIO(TLT,I),I=0,2)/78,58,38/
- DATA (BRPRIO(TEQ,I),I=0,2)/78,58,38/
- DATA (BRPRIO(TNE,I),I=0,2)/78,58,38/
- DATA (BRPRIO(TGE,I),I=0,2)/78,58,38/
- DATA (BRPRIO(TGT,I),I=0,2)/78,58,38/
- C .NOT.
- DATA (BRPRIO(TNOT,I),I=0,2)/80,60,40/
- C .AND.
- DATA (BRPRIO(TAND,I),I=0,2)/82,62,42/
- C .OR.
- DATA (BRPRIO(TOR,I),I=0,2)/84,64,44/
- C .EQV. .NEQV.
- DATA (BRPRIO(TEQV,I),I=0,2)/86,66,46/
- DATA (BRPRIO(TNEQV,I),I=0,2)/86,66,46/
- C Everthing else from here on
- DATA ((BRPRIO(I,J),J=0,2),I=TDCNST,TERRKD)/20,20,20,20,20,20,20,
- + 20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,
- + 20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20/
-
- C************************************* Blank line insertion
- C
-
- DATA BLADEC/.TRUE./,BLCHAR/32/
-
- DATA (BLAFT(I),I=TMMINV,TENDFI)/18*0/
- C ENDIF
- DATA BLAFT(TENDIF)/1/
-
- DATA (BLAFT(I),I=TENTRY,TFUNCT)/4*0/
- C FORMAT
- DATA BLAFT(TFORMA)/1/
- C GOTO
- DATA BLAFT(TGOTO)/1/
- DATA (BLAFT(I),I=TIF,TPARAM)/6*0/
- C PAUSE
- DATA BLAFT(TPAUSE)/1/
- DATA (BLAFT(I),I=TPRINT,TREAD)/3*0/
- C RETURN
- DATA BLAFT(TRETUR)/1/
- DATA BLAFT(TREWIN),BLAFT(TSAVE)/0,0/
- C STOP
- DATA BLAFT(TSTOP)/1/
- DATA (BLAFT(I),I=TSUBRO,TERRKD)/47*0/
-
- C** Blank lines before:
-
- DATA (BLBEF(I),I=TMMINV,TDIMEN)/14*0/
- C ELSE
- DATA BLBEF(TELSE)/1/
- C ELSEIF
- DATA BLBEF(TELSIF)/1/
- DATA (BLBEF(I),I=TEND,TFUNCT)/7*0/
- C FORMAT
- DATA BLBEF(TFORMA)/1/
- DATA (BLBEF(I),I=TGOTO,TERRKD)/62*0/
-
- DATA LMARGS/7/,RMARGS/72/,LMARGC/2/,RMARGC/72/
- DATA CONCHR/43/
- DATA LABELF/1/,LABELC/1/
- DATA INDDO/4/,INDIF/4/,INDCON/-2/,INDCMT/.FALSE./
- DATA SEQINI,SEQINC,SEQDIG,SEQFIL,SEQRQD/1,1,4,32,.FALSE./
- DATA FLBINI/9000/,FLBINC/10/,SLBINI/10/,SLBINC/10/
- DATA RLBFMT,RLBSTM,MOVEF,DOCONI,IOTHCO/5*.FALSE./
- DATA CMMODE/0/,CBOX/0/,CBTOP/42/,CBSIDE/42/,CMCHAR/32/
- DATA KWCASE/0/,IDCASE,STRCAS,CMCASE,FFCASE/4*0/
- DATA VLEN,DLEN/2*0/
- DATA DLUP,TRACE,INDDOC,DELSED,BRKLIF/5*.FALSE./
- DATA ERRCMT/.TRUE./
- DATA CVTHFM,RMOPCF,FMSBRK/3*.FALSE./
-
- END
-
-
- C ----------------------------------------------------------------------
- C
- C T N A B L K - Token Name Block Data (for option parsing)
- C
-
- BLOCK DATA TNABLK
-
- C---------------------------------------------------------
- C TOOLPACK/1 Release: 2.4
- C---------------------------------------------------------
- C
- C TKLAST = LAST TOKEN NUMBER
- C
- INTEGER TZEOF ,TASSIG,TBACKS,TBLOCK,TCALL ,TCLOSE,TCOMMO,TCONTI,
- + TDATA ,TDO ,TDIMEN,TELSE ,TELSIF,TEND ,TENDFI,TENDIF,
- + TENTRY,TEQUIV,TEXTER,TFUNCT,TFORMA,TGOTO ,TIF ,TIMPLI,
- + TINQUI,TINTRI,TOPEN ,TPARAM,TPAUSE,TPRINT,TPROGR,TREAD ,
- + TRETUR,TREWIN,TSAVE ,TSTOP ,TSUBRO,TTHEN ,TTO ,TWRITE,
- + TINTEG,TREAL ,TDOUBL,TCOMPL,TLOGIC,TCHARA,TDCMPL,TCOMMA,
- + TEQUAL,TCOLON,TLPARN,TRPARN,TLE ,TLT ,TEQ ,TNE ,
- + TGE ,TGT ,TAND ,TOR ,TEQV ,TNEQV ,TNOT ,TSTAR ,
- + TDSTAR,TPLUS ,TMINUS,TSLASH,TCNCAT,TDCNST,TLCNST,TRCNST,
- + TPCNST,TCCNST,THCNST,TNAME ,TFIELD,TSCALE,TZEOS ,TCMMNT,
- + TFMTKD,TENDKD,TERRKD,TKLAST
- PARAMETER (TZEOF = 1,TASSIG= 2,TBACKS= 3,TBLOCK= 4,TCALL = 5,
- + TCLOSE= 6,TCOMMO= 7,TCONTI= 8,TDATA = 9,TDO =10,
- + TDIMEN=11,TELSE =12,TELSIF=13,TEND =14,TENDFI=15,
- + TENDIF=16,TENTRY=17,TEQUIV=18,TEXTER=19,TFUNCT=20,
- + TFORMA=21,TGOTO =22,TIF =23,TIMPLI=24,TINQUI=25,
- + TINTRI=26,TOPEN =27,TPARAM=28,TPAUSE=29,TPRINT=30,
- + TPROGR=31,TREAD =32,TRETUR=33,TREWIN=34,TSAVE =35,
- + TSTOP =36,TSUBRO=37,TTHEN =38,TTO =39,TWRITE=40,
- + TINTEG=41,TREAL =42,TDOUBL=43,TCOMPL=44,TLOGIC=45,
- + TCHARA=46,TDCMPL=47,TCOMMA=48,TEQUAL=49,TCOLON=50,
- + TLPARN=51,TRPARN=52,TLE =53,TLT =54,TEQ =55,
- + TNE =56,TGE =57,TGT =58,TAND =59,TOR =60,
- + TEQV =61,TNEQV =62,TNOT =63,TSTAR =64,TDSTAR=65,
- + TPLUS =66,TMINUS=67,TSLASH=68,TCNCAT=69,TDCNST=70,
- + TLCNST=71,TRCNST=72,TPCNST=73,TCCNST=74,THCNST=75,
- + TNAME =76,TFIELD=77,TSCALE=78,TZEOS =79,TCMMNT=80,
- + TFMTKD=81,TENDKD=82,TERRKD=83,TKLAST=83)
-
-
- COMMON/TNAMES/TOKNAM
- CHARACTER*6 TOKNAM(-2:TKLAST)
-
- INTEGER TMMINV,TMPLUV
- PARAMETER (TMMINV=-2,TMPLUV=-1)
-
- SAVE
-
- DATA TOKNAM(TMMINV),TOKNAM(TMPLUV)/'TMMINU','TMPLUS'/
- DATA TOKNAM(0)/'======'/
- DATA
- +TOKNAM(TZEOF )/'TZEOF '/,TOKNAM(TASSIG)/'TASSIG'/,
- +TOKNAM(TBACKS)/'TBACKS'/,TOKNAM(TBLOCK)/'TBLOCK'/,
- +TOKNAM(TCALL )/'TCALL '/,TOKNAM(TCLOSE)/'TCLOSE'/,
- +TOKNAM(TCOMMO)/'TCOMMO'/,TOKNAM(TCONTI)/'TCONTI'/,
- +TOKNAM(TDATA )/'TDATA '/,TOKNAM(TDO )/'TDO '/,
- +TOKNAM(TDIMEN)/'TDIMEN'/,TOKNAM(TELSE )/'TELSE '/,
- +TOKNAM(TELSIF)/'TELSIF'/,TOKNAM(TEND )/'TEND '/,
- +TOKNAM(TENDFI)/'TENDFI'/,TOKNAM(TENDIF)/'TENDIF'/,
- +TOKNAM(TENTRY)/'TENTRY'/,TOKNAM(TEQUIV)/'TEQUIV'/,
- +TOKNAM(TEXTER)/'TEXTER'/,TOKNAM(TFUNCT)/'TFUNCT'/,
- +TOKNAM(TFORMA)/'TFORMA'/,TOKNAM(TGOTO )/'TGOTO '/,
- +TOKNAM(TIF )/'TIF '/,TOKNAM(TIMPLI)/'TIMPLI'/,
- +TOKNAM(TINQUI)/'TINQUI'/,TOKNAM(TINTRI)/'TINTRI'/,
- +TOKNAM(TOPEN )/'TOPEN '/,TOKNAM(TPARAM)/'TPARAM'/,
- +TOKNAM(TPAUSE)/'TPAUSE'/,TOKNAM(TPRINT)/'TPRINT'/,
- +TOKNAM(TPROGR)/'TPROGR'/,TOKNAM(TREAD )/'TREAD '/,
- +TOKNAM(TRETUR)/'TRETUR'/,TOKNAM(TREWIN)/'TREWIN'/,
- +TOKNAM(TSAVE )/'TSAVE '/,TOKNAM(TSTOP )/'TSTOP '/,
- +TOKNAM(TSUBRO)/'TSUBRO'/,TOKNAM(TTHEN )/'TTHEN '/
- DATA
- +TOKNAM(TTO )/'TTO '/,TOKNAM(TWRITE)/'TWRITE'/,
- +TOKNAM(TINTEG)/'TINTEG'/,TOKNAM(TREAL )/'TREAL '/,
- +TOKNAM(TDOUBL)/'TDOUBL'/,TOKNAM(TCOMPL)/'TCOMPL'/,
- +TOKNAM(TLOGIC)/'TLOGIC'/,TOKNAM(TCHARA)/'TCHARA'/,
- +TOKNAM(TDCMPL)/'TDCMPL'/,
- +TOKNAM(TCOMMA)/'TCOMMA'/,TOKNAM(TEQUAL)/'TEQUAL'/,
- +TOKNAM(TCOLON)/'TCOLON'/,TOKNAM(TLPARN)/'TLPARN'/,
- +TOKNAM(TRPARN)/'TRPARN'/,TOKNAM(TLE )/'TLE '/,
- +TOKNAM(TLT )/'TLT '/,TOKNAM(TEQ )/'TEQ '/,
- +TOKNAM(TNE )/'TNE '/,TOKNAM(TGE )/'TGE '/,
- +TOKNAM(TGT )/'TGT '/,TOKNAM(TAND )/'TAND '/,
- +TOKNAM(TOR )/'TOR '/,TOKNAM(TEQV )/'TEQV '/,
- +TOKNAM(TNEQV )/'TNEQV '/,TOKNAM(TNOT )/'TNOT '/,
- +TOKNAM(TSTAR )/'TSTAR '/,TOKNAM(TDSTAR)/'TDSTAR'/,
- +TOKNAM(TPLUS )/'TPLUS '/,TOKNAM(TMINUS)/'TMINUS'/,
- +TOKNAM(TSLASH)/'TSLASH'/,TOKNAM(TCNCAT)/'TCNCAT'/,
- +TOKNAM(TDCNST)/'TDCNST'/,TOKNAM(TLCNST)/'TLCNST'/,
- +TOKNAM(TRCNST)/'TRCNST'/,TOKNAM(TPCNST)/'TPCNST'/,
- +TOKNAM(TCCNST)/'TCCNST'/,TOKNAM(THCNST)/'THCNST'/
- DATA
- +TOKNAM(TNAME )/'TNAME '/,TOKNAM(TSCALE)/'TSCALE'/,
- +TOKNAM(TFIELD)/'TFIELD'/,TOKNAM(TZEOS )/'TZEOS '/,
- +TOKNAM(TCMMNT)/'TCMMNT'/,TOKNAM(TFMTKD)/'TFMTKD'/,
- +TOKNAM(TENDKD)/'TENDKD'/,TOKNAM(TERRKD)/'TERRKD'/
-
- END
-